1. Field of the Invention
The present invention relates to a method and system for communicating in ad-hoc networks.
2. Description of the Related Art
Multiparty sessions are the basis of several important applications. Examples of such applications are audio and video conferencing, distance learning and gaming. So far, little attention has been devoted to these applications in peer-to-peer settings. The same holds for ad-hoc networks. Ad-hoc networks usually rely on peer-to-peer paradigm, especially when the terminals composing these networks are mobile terminals. Terminals' mobility in multiparty sessions that take place in peer-to-peer ad-hoc networks engenders a critical issue related to signaling.
Ad-hoc networks comprise nodes that communicate without a pre-existing network infrastructure. They form spontaneously without the need of a dedicated infrastructure or a central controller. Such a peer-to-peer system infers that each node, or user, in the network can act as a data endpoint or intermediate repeater.
Peer-to-Peer (P2P) is a paradigm to structure distributed applications, in such a way that individual nodes have symmetric roles. Peer-to-peer networks do not have to be ad-hoc and most existing peer-to-peer networks are actually not. However, ad-hoc networks usually rely on peer-to-peer communications, especially when they are mobile. This is due to the lack of pre-existing and non-transient infrastructure such as centralized servers.
An ad-hoc conference typically begins with two participants, and additional participants join when, for example, invited by any of the participants already in the conference. This model fits quite well in ad-hoc peer-to-peer to networks settings. It is the basis of numerous applications including public debates and gaming.
Significant work has been done on signaling for multiparty sessions in traditional networks, such as for example with the development of the Session Initiation Protocol (“SIP: Session Initiation Protocol”, by J. Rosenberg et al., Request for Comments RFC 3261, June 2002.), all of which is herein included by reference), the International Telecommunication Union-Telecommunication (ITU-T) H.323 protocol (H.323 series, ITU-T recommendations, Geneva 2003, which is also herein included by reference in its entirety), and ICEBERG (by Helen J. Wang, et al., “Iceberg: An Internet Core Network Architecture for Integrated Communications”, IEEE Personal Communications, August 2000, which is also herein included by reference). The same applies to the low layers issues of ad-hoc networks (e.g. routing), and also to the non-multiparty session applications in peer-to-peer networks (e.g. Gnutella, Freenet). However, no or little work has been done so far on signaling in peer-to-peer ad hoc networks.
Signaling in peer-to-peer ad-hoc networks is quite challenging. Participants to such a network may join or leave at any time. The information also needs to be propagated in a distributed manner since there is no centralized server in the network. Resources need to be used in an optimal manner due to the peer-to-peer structure. Peers with limited resources need to rely on the resources of the other peers.
None of the existing signaling system meets these requirements. For example, H.323 comprises a centralized entity, i.e. the H.323 Multipoint Control Unit (MCU), and has only a medium scalability level. It does not have a dynamic sessions management capability, and lacks an optimal usage of recourses. The full mesh version of SIP (by Mark/Kelley, “Distributed Multipoint Conferences using SIP”, IETF Internet Draft, Mar. 8, 2000, also included by reference herein) does not comprise a centralized entity, but has an even lower scalability level. It also has a low level of dynamic sessions management capability, and lacks an optimal usage of recourses (note: SIP does defined centralized servers but it has been discussed as full mesh manner in the reference document above). Finally, Iceberg also comprises a centralized entity. Although it has a high scalability level and a dynamic sessions management capability, it lacks an optimal usage of recourses.
Although there is no prior art solution as the one proposed hereinafter for solving the above-mentioned deficiencies, the US patent application US2002/0042693 by Kampe at al. (hereinafter called Kampe) bears some relation with the field of the present invention. Kampe teaches a system and methods within a high availability network for monitoring and managing cluster membership. A cluster membership monitor provides the ability to maintain a list of current cluster members, monitor status of each node of the cluster, stay apprised of each node's viability, elect a master node for the cluster when necessary, and coordinate cluster reformation as members join and leave the cluster. However, Kampe's system comprises a centralized node, i.e. the cluster membership monitor, and therefore it's principles are not applicable to ad-hoc networks.
The US patent application US 2003/0204509 by Dinker at al. (hereinafter called Dinker) also bears some relation with the field of the present invention. Dinker teaches a distributed system providing for separate management of dynamic cluster membership and of distributed data. Dinker's nodes of the distributed system include a state manager and a topology manager. The state manager handles data access from the cluster, while the topology manager handles changes to the dynamic cluster topology, such as when new nodes join or exit the cluster. However, the teaching of Dinker is limited to a system able to form one cluster at a time.
Accordingly, it should be readily appreciated that in order to overcome the deficiencies and shortcomings of the existing solutions, it would be advantageous to have a method and system for effectively setting up ad-hoc networks using the concept of clustering. The present invention provides such a method and system.